package cn.hsa.fqz.common.mock;

import cn.hsa.fqz.common.enums.DataSourceTypeEnums;
import cn.hsa.fqz.common.utils.CHExecutor;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.RandomUtil;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;
import java.math.BigDecimal;
import java.sql.*;
import java.util.Date;
import java.util.*;
import java.util.concurrent.ThreadLocalRandom;

/**
 * @author Administrator
 * @version 1.0
 * @descrption mock随机用户数据
 * @date 2023-11-20 17:33
 */
public class MockRandomApi {

    public static StringBuffer randomIdCard() {
        String[] collect = {"110101", "110102", "110105", "110106", "110107", "110108", "110109", "110111", "110112", "110113", "110114", "110115", "110116", "110117", "110118", "110119", "120101", "120102", "120103", "120104", "120105", "120106", "120110", "120111", "120112", "120113", "120114", "120115", "120116", "120117", "120118", "120119", "130102", "130104", "130105", "130107", "130108", "130109", "130110", "130111", "130121", "130123", "130125", "130126", "130127", "130128", "130129", "130130", "130131", "130132", "130133", "130181", "130183", "130184", "130202", "130203", "130204", "130205", "130207", "130208", "130209", "130224", "130225", "130227", "130229", "130281", "130283", "130284", "130302", "130303", "130304", "130306", "130321", "130322", "130324", "130402", "130403", "130404", "130406", "130407", "130408", "130423", "130424", "130425", "130426", "130427", "130430", "130431", "130432", "130433", "130434", "130435", "130481", "130502", "130503", "130521", "130522", "130523", "130524", "130525", "130526", "130527", "130528", "130529", "130530", "130531", "130532", "130533", "130534", "130535", "130581", "130582", "130602", "130606", "130607", "130608", "130609", "130623", "130624", "130626", "130627", "130628", "130629", "130630", "130631", "130632", "130633", "130634", "130635", "130636", "130637", "130638", "130681", "130682", "130683", "130684", "130702", "130703", "130705", "130706", "130708", "130709", "130722", "130723", "130724", "130725", "130726", "130727", "130728", "130730", "130731", "130732", "130802", "130803", "130804", "130821", "130822", "130824", "130825", "130826", "130827", "130828", "130881", "130902", "130903", "130921", "130922", "130923", "130924", "130925", "130926", "130927", "130928", "130929", "130930", "130981", "130982", "130983", "130984", "131002", "131003", "131022", "131023", "131024", "131025", "131026", "131028", "131081", "131082", "131102", "131103", "131121", "131122", "131123", "131124", "131125", "131126", "131127", "131128", "131182", "140105", "140106", "140107", "140108", "140109", "140110", "140121", "140122", "140123", "140181", "140212", "140213", "140214", "140215", "140221", "140222", "140223", "140224", "140225", "140226", "140302", "140303", "140311", "140321", "140322", "140403", "140404", "140405", "140406", "140423", "140425", "140426", "140427", "140428", "140429", "140430", "140431", "140502", "140521", "140522", "140524", "140525", "140581", "140602", "140603", "140621", "140622", "140623", "140681", "140702", "140703", "140721", "140722", "140723", "140724", "140725", "140727", "140728", "140729", "140781", "140802", "140821", "140822", "140823", "140824", "140825", "140826", "140827", "140828", "140829", "140830", "140881", "140882", "140902", "140921", "140922", "140923", "140924", "140925", "140926", "140927", "140928", "140929", "140930", "140931", "140932", "140981", "141002", "141021", "141022", "141023", "141024", "141025", "141026", "141027", "141028", "141029", "141030", "141031", "141032", "141033", "141034", "141081", "141082", "141102", "141121", "141122", "141123", "141124", "141125", "141126", "141127", "141128", "141129", "141130", "141181", "141182", "150102", "150103", "150104", "150105", "150121", "150122", "150123", "150124", "150125", "150202", "150203", "150204", "150205", "150206", "150207", "150221", "150222", "150223", "150302", "150303", "150304", "150402", "150403", "150404", "150421", "150422", "150423", "150424", "150425", "150426", "150428", "150429", "150430", "150502", "150521", "150522", "150523", "150524", "150525", "150526", "150581", "150602", "150603", "150621", "150622", "150623", "150624", "150625", "150626", "150627", "150702", "150703", "150721", "150722", "150723", "150724", "150725", "150726", "150727", "150781", "150782", "150783", "150784", "150785", "150802", "150821", "150822", "150823", "150824", "150825", "150826", "150902", "150921", "150922", "150923", "150924", "150925", "150926", "150927", "150928", "150929", "150981", "152201", "152202", "152221", "152222", "152223", "152224", "152501", "152502", "152522", "152523", "152524", "152525", "152526", "152527", "152528", "152529", "152530", "152531", "152921", "152922", "152923", "210102", "210103", "210104", "210105", "210106", "210111", "210112", "210113", "210114", "210115", "210123", "210124", "210181", "210202", "210203", "210204", "210211", "210212", "210213", "210214", "210224", "210281", "210283", "210302", "210303", "210304", "210311", "210321", "210323", "210381", "210402", "210403", "210404", "210411", "210421", "210422", "210423", "210502", "210503", "210504", "210505", "210521", "210522", "210602", "210603", "210604", "210624", "210681", "210682", "210702", "210703", "210711", "210726", "210727", "210781", "210782", "210802", "210803", "210804", "210811", "210881", "210882", "210902", "210903", "210904", "210905", "210911", "210921", "210922", "211002", "211003", "211004", "211005", "211011", "211021", "211081", "211102", "211103", "211104", "211122", "211202", "211204", "211221", "211223", "211224", "211281", "211282", "211302", "211303", "211321", "211322", "211324", "211381", "211382", "211402", "211403", "211404", "211421", "211422", "211481", "220102", "220103", "220104", "220105", "220106", "220112", "220113", "220122", "220182", "220183", "220202", "220203", "220204", "220211", "220221", "220281", "220282", "220283", "220284", "220302", "220303", "220322", "220323", "220381", "220382", "220402", "220403", "220421", "220422", "220502", "220503", "220521", "220523", "220524", "220581", "220582", "220602", "220605", "220621", "220622", "220623", "220681", "220702", "220721", "220722", "220723", "220781", "220802", "220821", "220822", "220881", "220882", "222401", "222402", "222403", "222404", "222405", "222406", "222424", "222426", "230102", "230103", "230104", "230108", "230109", "230110", "230111", "230112", "230113", "230123", "230124", "230125", "230126", "230127", "230128", "230129", "230183", "230184", "230202", "230203", "230204", "230205", "230206", "230207", "230208", "230221", "230223", "230224", "230225", "230227", "230229", "230230", "230231", "230281", "230302", "230303", "230304", "230305", "230306", "230307", "230321", "230381", "230382", "230402", "230403", "230404", "230405", "230406", "230407", "230421", "230422", "230502", "230503", "230505", "230506", "230521", "230522", "230523", "230524", "230602", "230603", "230604", "230605", "230606", "230621", "230622", "230623", "230624", "230717", "230718", "230719", "230722", "230723", "230724", "230725", "230726", "230751", "230781", "230803", "230804", "230805", "230811", "230822", "230826", "230828", "230881", "230882", "230883", "230902", "230903", "230904", "230921", "231002", "231003", "231004", "231005", "231025", "231081", "231083", "231084", "231085", "231086", "231102", "231123", "231124", "231181", "231182", "231183", "231202", "231221", "231222", "231223", "231224", "231225", "231226", "231281", "231282", "231283", "232701", "232721", "232722", "310101", "310104", "310105", "310106", "310107", "310109", "310110", "310112", "310113", "310114", "310115", "310116", "310117", "310118", "310120", "310151", "320102", "320104", "320105", "320106", "320111", "320113", "320114", "320115", "320116", "320117", "320118", "320205", "320206", "320211", "320213", "320214", "320281", "320282", "320302", "320303", "320305", "320311", "320312", "320321", "320322", "320324", "320381", "320382", "320402", "320404", "320411", "320412", "320413", "320481", "320505", "320506", "320507", "320508", "320509", "320581", "320582", "320583", "320585", "320602", "320611", "320612", "320623", "320681", "320682", "320684", "320685", "320703", "320706", "320707", "320722", "320723", "320724", "320803", "320804", "320812", "320813", "320826", "320830", "320831", "320902", "320903", "320904", "320921", "320922", "320923", "320924", "320925", "320981", "321002", "321003", "321012", "321023", "321081", "321084", "321102", "321111", "321112", "321181", "321182", "321183", "321202", "321203", "321204", "321281", "321282", "321283", "321302", "321311", "321322", "321323", "321324", "330102", "330103", "330104", "330105", "330106", "330108", "330109", "330110", "330111", "330112", "330122", "330127", "330182", "330203", "330205", "330206", "330211", "330212", "330213", "330225", "330226", "330281", "330282", "330302", "330303", "330304", "330305", "330324", "330326", "330327", "330328", "330329", "330381", "330382", "330383", "330402", "330411", "330421", "330424", "330481", "330482", "330483", "330502", "330503", "330521", "330522", "330523", "330602", "330603", "330604", "330624", "330681", "330683", "330702", "330703", "330723", "330726", "330727", "330781", "330782", "330783", "330784", "330802", "330803", "330822", "330824", "330825", "330881", "330902", "330903", "330921", "330922", "331002", "331003", "331004", "331022", "331023", "331024", "331081", "331082", "331083", "331102", "331121", "331122", "331123", "331124", "331125", "331126", "331127", "331181", "340102", "340103", "340104", "340111", "340121", "340122", "340123", "340124", "340181", "340202", "340203", "340207", "340208", "340221", "340222", "340223", "340281", "340302", "340303", "340304", "340311", "340321", "340322", "340323", "340402", "340403", "340404", "340405", "340406", "340421", "340422", "340503", "340504", "340506", "340521", "340522", "340523", "340602", "340603", "340604", "340621", "340705", "340706", "340711", "340722", "340802", "340803", "340811", "340822", "340825", "340826", "340827", "340828", "340881", "340882", "341002", "341003", "341004", "341021", "341022", "341023", "341024", "341102", "341103", "341122", "341124", "341125", "341126", "341181", "341182", "341202", "341203", "341204", "341221", "341222", "341225", "341226", "341282", "341302", "341321", "341322", "341323", "341324", "341502", "341503", "341504", "341522", "341523", "341524", "341525", "341602", "341621", "341622", "341623", "341702", "341721", "341722", "341723", "341802", "341821", "341823", "341824", "341825", "341881", "341882", "350102", "350103", "350104", "350105", "350111", "350112", "350121", "350122", "350123", "350124", "350125", "350128", "350181", "350203", "350205", "350206", "350211", "350212", "350213", "350302", "350303", "350304", "350305", "350322", "350402", "350403", "350421", "350423", "350424", "350425", "350426", "350427", "350428", "350429", "350430", "350481", "350502", "350503", "350504", "350505", "350521", "350524", "350525", "350526", "350527", "350581", "350582", "350583", "350602", "350603", "350622", "350623", "350624", "350625", "350626", "350627", "350628", "350629", "350681", "350702", "350703", "350721", "350722", "350723", "350724", "350725", "350781", "350782", "350783", "350802", "350803", "350821", "350823", "350824", "350825", "350881", "350902", "350921", "350922", "350923", "350924", "350925", "350926", "350981", "350982", "360102", "360103", "360104", "360111", "360112", "360113", "360121", "360123", "360124", "360202", "360203", "360222", "360281", "360302", "360313", "360321", "360322", "360323", "360402", "360403", "360404", "360423", "360424", "360425", "360426", "360428", "360429", "360430", "360481", "360482", "360483", "360502", "360521", "360602", "360603", "360681", "360702", "360703", "360704", "360722", "360723", "360724", "360725", "360726", "360727", "360728", "360729", "360730", "360731", "360732", "360733", "360734", "360735", "360781", "360802", "360803", "360821", "360822", "360823", "360824", "360825", "360826", "360827", "360828", "360829", "360830", "360881", "360902", "360921", "360922", "360923", "360924", "360925", "360926", "360981", "360982", "360983", "361002", "361003", "361021", "361022", "361023", "361024", "361025", "361026", "361027", "361028", "361030", "361102", "361103", "361104", "361123", "361124", "361125", "361126", "361127", "361128", "361129", "361130", "361181", "370102", "370103", "370104", "370105", "370112", "370113", "370114", "370115", "370116", "370117", "370124", "370126", "370202", "370203", "370211", "370212", "370213", "370214", "370215", "370281", "370283", "370285", "370302", "370303", "370304", "370305", "370306", "370321", "370322", "370323", "370402", "370403", "370404", "370405", "370406", "370481", "370502", "370503", "370505", "370522", "370523", "370602", "370611", "370612", "370613", "370634", "370681", "370682", "370683", "370684", "370685", "370686", "370687", "370702", "370703", "370704", "370705", "370724", "370725", "370781", "370782", "370783", "370784", "370785", "370786", "370811", "370812", "370826", "370827", "370828", "370829", "370830", "370831", "370832", "370881", "370883", "370902", "370911", "370921", "370923", "370982", "370983", "371002", "371003", "371082", "371083", "371102", "371103", "371121", "371122", "371302", "371311", "371312", "371321", "371322", "371323", "371324", "371325", "371326", "371327", "371328", "371329", "371402", "371403", "371422", "371423", "371424", "371425", "371426", "371427", "371428", "371481", "371482", "371502", "371503", "371521", "371522", "371524", "371525", "371526", "371581", "371602", "371603", "371621", "371622", "371623", "371625", "371681", "371702", "371703", "371721", "371722", "371723", "371724", "371725", "371726", "371728", "410102", "410103", "410104", "410105", "410106", "410108", "410122", "410181", "410182", "410183", "410184", "410185", "410202", "410203", "410204", "410205", "410212", "410221", "410222", "410223", "410225", "410302", "410303", "410304", "410305", "410306", "410311", "410322", "410323", "410324", "410325", "410326", "410327", "410328", "410329", "410381", "410402", "410403", "410404", "410411", "410421", "410422", "410423", "410425", "410481", "410482", "410502", "410503", "410505", "410506", "410522", "410523", "410526", "410527", "410581", "410602", "410603", "410611", "410621", "410622", "410702", "410703", "410704", "410711", "410721", "410724", "410725", "410726", "410727", "410781", "410782", "410783", "410802", "410803", "410804", "410811", "410821", "410822", "410823", "410825", "410882", "410883", "410902", "410922", "410923", "410926", "410927", "410928", "411002", "411003", "411024", "411025", "411081", "411082", "411102", "411103", "411104", "411121", "411122", "411202", "411203", "411221", "411224", "411281", "411282", "411302", "411303", "411321", "411322", "411323", "411324", "411325", "411326", "411327", "411328", "411329", "411330", "411381", "411402", "411403", "411421", "411422", "411423", "411424", "411425", "411426", "411481", "411502", "411503", "411521", "411522", "411523", "411524", "411525", "411526", "411527", "411528", "411602", "411603", "411621", "411622", "411623", "411624", "411625", "411627", "411628", "411681", "411702", "411721", "411722", "411723", "411724", "411725", "411726", "411727", "411728", "411729", "419001", "420102", "420103", "420104", "420105", "420106", "420107", "420111", "420112", "420113", "420114", "420115", "420116", "420117", "420202", "420203", "420204", "420205", "420222", "420281", "420302", "420303", "420304", "420322", "420323", "420324", "420325", "420381", "420502", "420503", "420504", "420505", "420506", "420525", "420526", "420527", "420528", "420529", "420581", "420582", "420583", "420602", "420606", "420607", "420624", "420625", "420626", "420682", "420683", "420684", "420702", "420703", "420704", "420802", "420804", "420822", "420881", "420882", "420902", "420921", "420922", "420923", "420981", "420982", "420984", "421002", "421003", "421022", "421023", "421024", "421081", "421083", "421087", "421102", "421121", "421122", "421123", "421124", "421125", "421126", "421127", "421181", "421182", "421202", "421221", "421222", "421223", "421224", "421281", "421303", "421321", "421381", "422801", "422802", "422822", "422823", "422825", "422826", "422827", "422828", "429004", "429005", "429006", "429021", "430102", "430103", "430104", "430105", "430111", "430112", "430121", "430181", "430182", "430202", "430203", "430204", "430211", "430212", "430223", "430224", "430225", "430281", "430302", "430304", "430321", "430381", "430382", "430405", "430406", "430407", "430408", "430412", "430421", "430422", "430423", "430424", "430426", "430481", "430482", "430502", "430503", "430511", "430522", "430523", "430524", "430525", "430527", "430528", "430529", "430581", "430582", "430602", "430603", "430611", "430621", "430623", "430624", "430626", "430681", "430682", "430702", "430703", "430721", "430722", "430723", "430724", "430725", "430726", "430781", "430802", "430811", "430821", "430822", "430902", "430903", "430921", "430922", "430923", "430981", "431002", "431003", "431021", "431022", "431023", "431024", "431025", "431026", "431027", "431028", "431081", "431102", "431103", "431121", "431122", "431123", "431124", "431125", "431126", "431127", "431128", "431129", "431202", "431221", "431222", "431223", "431224", "431225", "431226", "431227", "431228", "431229", "431230", "431281", "431302", "431321", "431322", "431381", "431382", "433101", "433122", "433123", "433124", "433125", "433126", "433127", "433130", "440103", "440104", "440105", "440106", "440111", "440112", "440113", "440114", "440115", "440117", "440118", "440203", "440204", "440205", "440222", "440224", "440229", "440232", "440233", "440281", "440282", "440303", "440304", "440305", "440306", "440307", "440308", "440309", "440310", "440311", "440402", "440403", "440404", "440507", "440511", "440512", "440513", "440514", "440515", "440523", "440604", "440605", "440606", "440607", "440608", "440703", "440704", "440705", "440781", "440783", "440784", "440785", "440802", "440803", "440804", "440811", "440823", "440825", "440881", "440882", "440883", "440902", "440904", "440981", "440982", "440983", "441202", "441203", "441204", "441223", "441224", "441225", "441226", "441284", "441302", "441303", "441322", "441323", "441324", "441402", "441403", "441422", "441423", "441424", "441426", "441427", "441481", "441502", "441521", "441523", "441581", "441602", "441621", "441622", "441623", "441624", "441625", "441702", "441704", "441721", "441781", "441802", "441803", "441821", "441823", "441825", "441826", "441881", "441882", "441900", "442000", "445102", "445103", "445122", "445202", "445203", "445222", "445224", "445281", "445302", "445303", "445321", "445322", "445381", "450102", "450103", "450105", "450107", "450108", "450109", "450110", "450123", "450124", "450125", "450126", "450127", "450202", "450203", "450204", "450205", "450206", "450222", "450223", "450224", "450225", "450226", "450302", "450303", "450304", "450305", "450311", "450312", "450321", "450323", "450324", "450325", "450326", "450327", "450328", "450329", "450330", "450332", "450381", "450403", "450405", "450406", "450421", "450422", "450423", "450481", "450502", "450503", "450512", "450521", "450602", "450603", "450621", "450681", "450702", "450703", "450721", "450722", "450802", "450803", "450804", "450821", "450881", "450902", "450903", "450921", "450922", "450923", "450924", "450981", "451002", "451003", "451022", "451024", "451026", "451027", "451028", "451029", "451030", "451031", "451081", "451082", "451102", "451103", "451121", "451122", "451123", "451202", "451203", "451221", "451222", "451223", "451224", "451225", "451226", "451227", "451228", "451229", "451302", "451321", "451322", "451323", "451324", "451381", "451402", "451421", "451422", "451423", "451424", "451425", "451481", "460105", "460106", "460107", "460108", "460202", "460203", "460204", "460205", "460300", "460400", "469001", "469002", "469005", "469006", "469007", "469021", "469022", "469023", "469024", "469025", "469026", "469027", "469028", "469029", "469030", "500101", "500102", "500103", "500104", "500105", "500106", "500107", "500108", "500109", "500110", "500111", "500112", "500113", "500114", "500115", "500116", "500117", "500118", "500119", "500120", "500151", "500152", "500153", "500154", "500155", "500156", "500229", "500230", "500231", "500233", "500235", "500236", "500237", "500238", "500240", "500241", "500242", "500243", "510104", "510105", "510106", "510107", "510108", "510112", "510113", "510114", "510115", "510116", "510117", "510121", "510129", "510131", "510132", "510181", "510182", "510183", "510184", "510185", "510302", "510303", "510304", "510311", "510321", "510322", "510402", "510403", "510411", "510421", "510422", "510502", "510503", "510504", "510521", "510522", "510524", "510525", "510603", "510604", "510623", "510681", "510682", "510683", "510703", "510704", "510705", "510722", "510723", "510725", "510726", "510727", "510781", "510802", "510811", "510812", "510821", "510822", "510823", "510824", "510903", "510904", "510921", "510923", "510981", "511002", "511011", "511024", "511025", "511083", "511102", "511111", "511112", "511113", "511123", "511124", "511126", "511129", "511132", "511133", "511181", "511302", "511303", "511304", "511321", "511322", "511323", "511324", "511325", "511381", "511402", "511403", "511421", "511423", "511424", "511425", "511502", "511503", "511504", "511523", "511524", "511525", "511526", "511527", "511528", "511529", "511602", "511603", "511621", "511622", "511623", "511681", "511702", "511703", "511722", "511723", "511724", "511725", "511781", "511802", "511803", "511822", "511823", "511824", "511825", "511826", "511827", "511902", "511903", "511921", "511922", "511923", "512002", "512021", "512022", "513201", "513221", "513222", "513223", "513224", "513225", "513226", "513227", "513228", "513230", "513231", "513232", "513233", "513301", "513322", "513323", "513324", "513325", "513326", "513327", "513328", "513329", "513330", "513331", "513332", "513333", "513334", "513335", "513336", "513337", "513338", "513401", "513422", "513423", "513424", "513425", "513426", "513427", "513428", "513429", "513430", "513431", "513432", "513433", "513434", "513435", "513436", "513437", "520102", "520103", "520111", "520112", "520113", "520115", "520121", "520122", "520123", "520181", "520201", "520203", "520221", "520281", "520302", "520303", "520304", "520322", "520323", "520324", "520325", "520326", "520327", "520328", "520329", "520330", "520381", "520382", "520402", "520403", "520422", "520423", "520424", "520425", "520502", "520521", "520522", "520523", "520524", "520525", "520526", "520527", "520602", "520603", "520621", "520622", "520623", "520624", "520625", "520626", "520627", "520628", "522301", "522302", "522323", "522324", "522325", "522326", "522327", "522328", "522601", "522622", "522623", "522624", "522625", "522626", "522627", "522628", "522629", "522630", "522631", "522632", "522633", "522634", "522635", "522636", "522701", "522702", "522722", "522723", "522725", "522726", "522727", "522728", "522729", "522730", "522731", "522732", "530102", "530103", "530111", "530112", "530113", "530114", "530115", "530124", "530125", "530126", "530127", "530128", "530129", "530181", "530302", "530303", "530304", "530322", "530323", "530324", "530325", "530326", "530381", "530402", "530403", "530423", "530424", "530425", "530426", "530427", "530428", "530481", "530502", "530521", "530523", "530524", "530581", "530602", "530621", "530622", "530623", "530624", "530625", "530626", "530627", "530628", "530629", "530681", "530702", "530721", "530722", "530723", "530724", "530802", "530821", "530822", "530823", "530824", "530825", "530826", "530827", "530828", "530829", "530902", "530921", "530922", "530923", "530924", "530925", "530926", "530927", "532301", "532322", "532323", "532324", "532325", "532326", "532327", "532328", "532329", "532331", "532501", "532502", "532503", "532504", "532523", "532524", "532525", "532527", "532528", "532529", "532530", "532531", "532532", "532601", "532622", "532623", "532624", "532625", "532626", "532627", "532628", "532801", "532822", "532823", "532901", "532922", "532923", "532924", "532925", "532926", "532927", "532928", "532929", "532930", "532931", "532932", "533102", "533103", "533122", "533123", "533124", "533301", "533323", "533324", "533325", "533401", "533422", "533423", "540102", "540103", "540104", "540121", "540122", "540123", "540124", "540127", "540202", "540221", "540222", "540223", "540224", "540225", "540226", "540227", "540228", "540229", "540230", "540231", "540232", "540233", "540234", "540235", "540236", "540237", "540302", "540321", "540322", "540323", "540324", "540325", "540326", "540327", "540328", "540329", "540330", "540402", "540421", "540422", "540423", "540424", "540425", "540426", "540502", "540521", "540522", "540523", "540524", "540525", "540526", "540527", "540528", "540529", "540530", "540531", "540602", "540621", "540622", "540623", "540624", "540625", "540626", "540627", "540628", "540629", "540630", "542521", "542522", "542523", "542524", "542525", "542526", "542527", "610102", "610103", "610104", "610111", "610112", "610113", "610114", "610115", "610116", "610117", "610118", "610122", "610124", "610202", "610203", "610204", "610222", "610302", "610303", "610304", "610322", "610323", "610324", "610326", "610327", "610328", "610329", "610330", "610331", "610402", "610403", "610404", "610422", "610423", "610424", "610425", "610426", "610428", "610429", "610430", "610431", "610481", "610482", "610502", "610503", "610522", "610523", "610524", "610525", "610526", "610527", "610528", "610581", "610582", "610602", "610603", "610621", "610622", "610625", "610626", "610627", "610628", "610629", "610630", "610631", "610632", "610681", "610702", "610703", "610722", "610723", "610724", "610725", "610726", "610727", "610728", "610729", "610730", "610802", "610803", "610822", "610824", "610825", "610826", "610827", "610828", "610829", "610830", "610831", "610881", "610902", "610921", "610922", "610923", "610924", "610925", "610926", "610927", "610928", "610929", "611002", "611021", "611022", "611023", "611024", "611025", "611026", "620102", "620103", "620104", "620105", "620111", "620121", "620122", "620123", "620200", "620302", "620321", "620402", "620403", "620421", "620422", "620423", "620502", "620503", "620521", "620522", "620523", "620524", "620525", "620602", "620621", "620622", "620623", "620702", "620721", "620722", "620723", "620724", "620725", "620802", "620821", "620822", "620823", "620825", "620826", "620881", "620902", "620921", "620922", "620923", "620924", "620981", "620982", "621002", "621021", "621022", "621023", "621024", "621025", "621026", "621027", "621102", "621121", "621122", "621123", "621124", "621125", "621126", "621202", "621221", "621222", "621223", "621224", "621225", "621226", "621227", "621228", "622901", "622921", "622922", "622923", "622924", "622925", "622926", "622927", "623001", "623021", "623022", "623023", "623024", "623025", "623026", "623027", "630102", "630103", "630104", "630105", "630106", "630121", "630123", "630202", "630203", "630222", "630223", "630224", "630225", "632221", "632222", "632223", "632224", "632321", "632322", "632323", "632324", "632521", "632522", "632523", "632524", "632525", "632621", "632622", "632623", "632624", "632625", "632626", "632701", "632722", "632723", "632724", "632725", "632726", "632801", "632802", "632803", "632821", "632822", "632823", "640104", "640105", "640106", "640121", "640122", "640181", "640202", "640205", "640221", "640302", "640303", "640323", "640324", "640381", "640402", "640422", "640423", "640424", "640425", "640502", "640521", "640522", "650102", "650103", "650104", "650105", "650106", "650107", "650109", "650121", "650202", "650203", "650204", "650205", "650402", "650421", "650422", "650502", "650521", "650522", "652301", "652302", "652323", "652324", "652325", "652327", "652328", "652701", "652702", "652722", "652723", "652801", "652822", "652823", "652824", "652825", "652826", "652827", "652828", "652829", "652901", "652902", "652922", "652924", "652925", "652926", "652927", "652928", "652929", "653001", "653022", "653023", "653024", "653101", "653121", "653122", "653123", "653124", "653125", "653126", "653127", "653128", "653129", "653130", "653131", "653201", "653221", "653222", "653223", "653224", "653225", "653226", "653227", "654002", "654003", "654004", "654021", "654022", "654023", "654024", "654025", "654026", "654027", "654028", "654201", "654202", "654221", "654223", "654224", "654225", "654226", "654301", "654321", "654322", "654323", "654324", "654325", "654326", "659001", "659002", "659003", "659004", "659005", "659006", "659007", "659008", "659009", "659010"};

        int size = collect.length - 1;
        StringBuffer idCard = new StringBuffer();
        int randNum = new Random().nextInt(size) + 1;
        idCard.append(collect[randNum]);
        //生成随机时间
        String dateStr = "19730101";
        Date date = DateUtil.parse(dateStr);
        //间隔时间
        int min_val = 1;
        int max_val = 12000;
        ThreadLocalRandom tlr = ThreadLocalRandom.current();
        int randomNum = tlr.nextInt(min_val, max_val + 1);
        DateTime dateTime = DateUtil.offsetDay(date, randomNum);
        String yyyyMMdd = DateUtil.format(dateTime, "yyyyMMdd");
        idCard.append(yyyyMMdd);
        int num = RandomUtil.randomInt(1000, 9999);
        idCard.append(num);
        return idCard;
    }

    public static String randomPersonName() {
        String familyName = "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻水云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳鲍史唐费岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅卞齐康伍余元卜顾孟平黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计成戴宋茅庞熊纪舒屈项祝董粱杜阮席季麻强贾路娄危江童颜郭梅盛林刁钟徐邱骆高夏蔡田胡凌霍万柯卢莫房缪干解应宗丁宣邓郁单杭洪包诸左石崔吉龚程邢滑裴陆荣翁荀羊甄家封芮储靳邴松井富乌焦巴弓牧隗山谷车侯伊宁仇祖武符刘景詹束龙叶幸司韶黎乔苍双闻莘劳逄姬冉宰桂牛寿通边燕冀尚农温庄晏瞿茹习鱼容向古戈终居衡步都耿满弘国文东殴沃曾关红游盖益桓公晋楚闫";
        String girlName = "秀娟英华慧巧美娜静淑惠珠翠雅芝玉萍红娥玲芬芳燕彩春菊兰凤洁梅琳素云莲真环雪荣爱妹霞香月莺媛艳瑞凡佳嘉琼勤珍贞莉桂娣叶璧璐娅琦晶妍茜秋珊莎锦黛青倩婷姣婉娴瑾颖露瑶怡婵雁蓓纨仪荷丹蓉眉君琴蕊薇菁梦岚苑婕馨瑗琰韵融园艺咏卿聪澜纯毓悦昭冰爽琬茗羽希宁欣飘育滢馥筠柔竹霭凝晓欢霄枫芸菲寒伊亚宜可姬舒影荔枝思丽佩阳宣雨";
        String boyName = "伟刚勇毅俊峰强军平保东文辉力明永健世广志义兴良海山仁波宁贵福生龙元全国胜学祥才发武新利清飞彬富顺信子杰涛昌成康星光天达安岩中茂进林有坚和彪博诚先敬震振壮会思群豪心邦承乐绍功松善厚庆磊民友裕河哲江超浩亮政谦亨奇固之轮翰朗伯宏言若鸣朋斌梁栋维启克伦翔旭鹏泽晨辰士以建家致树炎德行时泰盛雄琛钧冠策腾楠榕风航弘洋宣宇";

        StringBuffer sb = new StringBuffer();
        int index = new Random().nextInt(familyName.length());
        String name1 = String.valueOf(familyName.charAt(index));
        //姓
        sb.append(name1);

        //随机产生性别
        int randNum = new Random().nextInt(2) + 1;
        int ind1 = randNum == 1 ? new Random().nextInt(boyName.length() - 1) : new Random().nextInt(girlName.length() - 1);
        int ind2 = randNum == 1 ? new Random().nextInt(boyName.length() - 1) : new Random().nextInt(girlName.length() - 1);
        String s = "";
        String s1 = "";
        if (randNum == 1) {
            s = String.valueOf(boyName.charAt(ind1));
            s1 = String.valueOf(boyName.charAt(ind2));
        } else {
            s = String.valueOf(girlName.charAt(ind1));
            s1 = String.valueOf(girlName.charAt(ind2));
        }
        sb.append(s);
        sb.append(s1);
        return sb.toString();
    }

    public static String randomPhoneNum() {
        Random random = new Random();
        // 中国移动号段
        String[] cmccPrefix = {"134", "135", "136", "137", "138", "139", "150", "151", "152", "157", "158", "159", "178", "182", "183", "184", "187", "188"};
        // 中国联通号段
        String[] cuccPrefix = {"130", "131", "132", "145", "155", "156", "166", "175", "176", "185", "186"};
        // 中国电信号段
        String[] ctcPrefix = {"133", "149", "153", "173", "177", "180", "181", "189", "199"};

        String prefix = "";
        int index = random.nextInt(3);
        switch (index) {
            case 0:
                prefix = cmccPrefix[random.nextInt(cmccPrefix.length)];
                break;
            case 1:
                prefix = cuccPrefix[random.nextInt(cuccPrefix.length)];
                break;
            case 2:
                prefix = ctcPrefix[random.nextInt(ctcPrefix.length)];
                break;
        }

        StringBuilder builder = new StringBuilder();
        builder.append(prefix);
        for (int i = 0; i < 8; i++) {
            builder.append(random.nextInt(10));
        }

        return builder.toString();
    }

    public static BigDecimal randomBigDecimal(BigDecimal min,BigDecimal max){
        BigDecimal randomBigDecimal = min.add(new BigDecimal(Math.random()).multiply(max.subtract(min)));
        BigDecimal result = randomBigDecimal.setScale(2,BigDecimal.ROUND_HALF_UP);
        return result;
    }

    public static void main(String[] args) throws IOException {
        List<String> drugList = FileUtils.readLines(new File("d://drugs.txt"));
        List<String> ycList = FileUtils.readLines(new File("d://药厂.txt"));
        List<String> admdvsStrLs = FileUtils.readLines(new File("d://admdvs.txt"));
        List<MockAdmdvs> admdvsList = Lists.newArrayList();
        String sql = "select fixmedins_code,fixmedins_name,medins_type,medinslv,medins_natu,admdvs,fixmedins_type,medins_natu  from fqz_all_yy_yd where fixmedins_type = '1'";
        List<Map<String,Object>> hospBasic = CHExecutor.getMapList("121.196.219.211", 8123, "zmjk2018", sql);
        List<MockHosp> hosps = Lists.newArrayList();
        for (int i=0;i<120;i++) {
            Map<String, Object> mp = hospBasic.get(i);
            MockHosp hosp = new MockHosp();
            hosp.setAdmdvs(String.valueOf(mp.get("admdvs")));
            hosp.setFixmedinsCode(String.valueOf(mp.get("fixmedins_code")));
            hosp.setFixmedinsName(String.valueOf(mp.get("fixmedins_name")));
            hosp.setMedinslv(String.valueOf(mp.get("medinslv")));
            hosp.setMedinsNatu(String.valueOf(mp.get("medins_natu")));
            hosps.add(hosp);
        }
        for (String admdvs:admdvsStrLs) {
            String[] admArr = admdvs.split(",");
            MockAdmdvs bo = new MockAdmdvs();
            bo.setAdmdvsLv(admArr[0]);
            bo.setAdmdvs(admArr[1]);
            bo.setAdmdvsName(admArr[2]);
            admdvsList.add(bo);
        }
        String year = "2021";
        String tableName = "fqz_ptzy_hosp";
        String suffix = "yearly";
        MockAdmdvs admdvs = new MockAdmdvs();
        List<String> result = Lists.newArrayList();
        for (int i=1;i<2;i++){
            String seltrq = null;
            if(i<10){
                seltrq = year+"-0"+i;
            }else{
                seltrq = year+"-"+i;
            }
            if(suffix.equals("yearly")){
                seltrq = year;
            }
            List<String> tmpLs1 = genHospMockSql(hosps,tableName,seltrq,suffix);

            result.addAll(tmpLs1);

        }
        //FileUtils.writeLines(new File("d://monitor/"+tableName+"_"+suffix+".txt"),result);
        for (String string:result) {
            CHExecutor.executeSql("121.196.219.211", 8123, "zmjk2018", string);
            System.out.println("sql执行成功");
        }

    }

    public static String randomCodeString(int length) {
        String charSet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
        StringBuilder sb = new StringBuilder(length);

        Random random = new Random();
        for (int i = 0; i < length; i++) {
            int randomIndex = random.nextInt(charSet.length());
            char randomChar = charSet.charAt(randomIndex);
            sb.append(randomChar);
        }
        return sb.toString();
    }

    public static List<String> genDrugMockSql(List<String> drugList,List<String> hospList,String setlRq,String tableSuffix){
        List<String> result = Lists.newArrayList();
        for (int i=0;i<50;i++) {
            String insertSql = "insert into fqz_ztk_drug_mcs_hosp_"+tableSuffix+"(setl_rq,projecttype,fixmedins_code,fixmedins_name,medins_list_name,yys,rs,rc,cnt,det_item_fee_sumamt,low_pric,high_pric) " +
                    "values('%s','11','%s','%s','%s',%s,%s,%s,%s,%s,%s,%s);";
            Random random = new Random();
            Integer cursor = random.nextInt(45);
            String fixmedins = hospList.get(random.nextInt(200));
            String[] fixmedinsArr = fixmedins.split(",");
            String sql = String.format(insertSql,setlRq, fixmedinsArr[0],fixmedinsArr[1],drugList.get(cursor), random.nextInt(10), random.nextInt(50), random.nextInt(100), random.nextInt(100),
                    randomBigDecimal(new BigDecimal(0), new BigDecimal(99999)), randomBigDecimal(new BigDecimal(0), new BigDecimal(99999)), randomBigDecimal(new BigDecimal(0), new BigDecimal(99999)));
            System.out.println(sql);
            result.add(sql);
        }
        return result;
    }

    public static String genDrugBasic(String drugName,List<String> ycList){
        String insertSql = "insert into fqz_drug_mcs_info_list(projecttype,projectname,med_list_code,reg_name,drugstdcode,drug_dosform,drug_type,spec," +
                "prodentp_code,prodentp_name,vali_flag) " +
                "values('11','西药中成药','%s','%s','%s','含片','国产','0.25mg','%s','%s','1');";
        Random random = new Random();
        String yc = ycList.get(random.nextInt(18));
        String[] ycArr = yc.split(",");
        String sql = String.format(insertSql,randomCodeString(12),drugName,drugName,randomCodeString(10),ycArr[0],ycArr[1]);
        return sql;
    }

    public static List<String> genPsnMockSql(String setlRq,String tableSuffix){
        List<String> result = Lists.newArrayList();
        for (int i=0;i<50;i++) {
            String insertSql = "insert into fqz_ztk_psn_"+tableSuffix+"(setl_rq,certno,psn_name,admdvs,provice_code,jzcs,jzcs_zy,medfee_sumamt,medfee_sumamt_cjfy,medfee_sumamt_zy,medfee_sumamt_zy_cjfy,medfee_sumamt_mz," +
                    "medfee_sumamt_zz,medfee_sumamt_tx,medfee_sumamt_lx,medfee_sumamt_cj,medfee_sumamt_scjr,medfee_sumamt_jggr,medfee_sumamt_qt,fund_pay_sumamt,fund_pay_sumamt_cjbx,fund_pay_sumamt_zy,fund_pay_sumamt_zy_cjbx," +
                    "fund_pay_sumamt_mz,fund_pay_sumamt_zz,fund_pay_sumamt_tx,fund_pay_sumamt_lx,fund_pay_sumamt_cj,fund_pay_sumamt_scjr,fund_pay_sumamt_jggr,fund_pay_sumamt_qt,acct_pay,acct_pay_zy,acct_pay_mz,cash_payamt," +
                    "cash_payamt_zy,cash_payamt_mz,ipt_days_hj,ipt_days_avg) " + "values('%s','%s','%s','%s','%s',%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s);";
            String centno = randomIdCard().toString();
            Random random = new Random();
            String sql = String.format(insertSql,setlRq, centno,randomPersonName(),centno.substring(0,6),centno.substring(0,2),random.nextInt(10),
                    random.nextInt(20), random.nextInt(20),
                    randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)), randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),
                    randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)), randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),
                    randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)), randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),
                    randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)), randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),
                    randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)), randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),
                    randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)), randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),
                    randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)), randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),
                    randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)), randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),
                    randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)), randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),
                    randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)), randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)),
                    randomBigDecimal(new BigDecimal(0), new BigDecimal(9999)));
            System.out.println(sql);
            result.add(sql);
        }
        return result;
    }

    public static Integer randomAdmdvsIntResult(MockAdmdvs ad){
        Random random = new Random();
        if(ad.getAdmdvsLv().equals("0")){
            return random.nextInt(299);
        }else if(ad.getAdmdvsLv().equals("1")){
            return random.nextInt(299);
        }else if(ad.getAdmdvsLv().equals("2")){
            return random.nextInt(299);
        }else{
            return 0;
        }
    }

    public static BigDecimal randomAdmdvsBigDecimalResult(MockAdmdvs ad){
        if(ad.getAdmdvsLv().equals("0")){
            return randomBigDecimal(new BigDecimal(0), new BigDecimal("99999999"));
        }else if(ad.getAdmdvsLv().equals("1")){
            return randomBigDecimal(new BigDecimal(0), new BigDecimal("1999999"));
        }else if(ad.getAdmdvsLv().equals("2")){
            return randomBigDecimal(new BigDecimal(0), new BigDecimal("9999"));
        }else{
            return new BigDecimal(0);
        }
    }

    public static List<String> genAdmdvsMockSql(String tableName,String setlRq,String tableSuffix,String dim1,String dim2,List<MockAdmdvs> admdvs){
        List<String> result = Lists.newArrayList();
        List<Map<String,String>> columns = getColumnByTableName(tableName);
        for (MockAdmdvs ad : admdvs) {
            String insertSql = genSql(tableName,columns);
            System.out.println(ad.getAdmdvsLv());
            String sql = String.format(insertSql,tableSuffix,setlRq, ad.getAdmdvs(),ad.getAdmdvsName(),dim1,dim2,
                    randomAdmdvsBigDecimalResult(ad),randomAdmdvsBigDecimalResult(ad), randomAdmdvsBigDecimalResult(ad),
                    randomAdmdvsBigDecimalResult(ad), randomAdmdvsBigDecimalResult(ad),randomAdmdvsBigDecimalResult(ad),
                    randomAdmdvsBigDecimalResult(ad), randomAdmdvsBigDecimalResult(ad),randomAdmdvsBigDecimalResult(ad),
                    randomAdmdvsBigDecimalResult(ad), randomAdmdvsBigDecimalResult(ad),randomAdmdvsBigDecimalResult(ad),
                    randomAdmdvsBigDecimalResult(ad), randomAdmdvsBigDecimalResult(ad),randomAdmdvsBigDecimalResult(ad),
                    randomAdmdvsBigDecimalResult(ad), randomAdmdvsBigDecimalResult(ad),randomAdmdvsBigDecimalResult(ad),
                    randomAdmdvsBigDecimalResult(ad), randomAdmdvsBigDecimalResult(ad),randomAdmdvsBigDecimalResult(ad),
                    randomAdmdvsBigDecimalResult(ad), randomAdmdvsBigDecimalResult(ad),randomAdmdvsBigDecimalResult(ad),DateUtil.formatDateTime(new Date()));
            System.out.println(sql);
            result.add(sql);
        }
        return result;
    }

    public static List<String> genHospMockSql(List<MockHosp> hosps,String tableName,String setlRq,String tableSuffix){
        List<String> result = Lists.newArrayList();
        List<Map<String,String>> columns = getColumnByTableName(tableName);
        for (MockHosp hosp : hosps) {
            String insertSql = genSql(tableName,columns);
            String proviceCode = hosp.getProviceCode();
            MockAdmdvs ad = new MockAdmdvs();
            ad.setAdmdvs(hosp.getAdmdvs());
            ad.setAdmdvsLv("2");
            System.out.println(ad.getAdmdvsLv());
            String sql = String.format(insertSql,tableSuffix,setlRq,hosp.getFixmedinsCode(),hosp.getFixmedinsName(),hosp.getMedinslv(),hosp.getMedinsNatu(),
                    proviceCode,ad.getAdmdvs(),
                    randomAdmdvsBigDecimalResult(ad),randomAdmdvsBigDecimalResult(ad), randomAdmdvsBigDecimalResult(ad),
                    randomAdmdvsBigDecimalResult(ad), randomAdmdvsBigDecimalResult(ad),randomAdmdvsBigDecimalResult(ad),
                    randomAdmdvsBigDecimalResult(ad), randomAdmdvsBigDecimalResult(ad),randomAdmdvsBigDecimalResult(ad),
                    randomAdmdvsBigDecimalResult(ad), randomAdmdvsBigDecimalResult(ad),randomAdmdvsBigDecimalResult(ad),
                    randomAdmdvsBigDecimalResult(ad), randomAdmdvsBigDecimalResult(ad),randomAdmdvsBigDecimalResult(ad),
                    randomAdmdvsBigDecimalResult(ad), randomAdmdvsBigDecimalResult(ad),randomAdmdvsBigDecimalResult(ad),
                    randomAdmdvsBigDecimalResult(ad), randomAdmdvsBigDecimalResult(ad),randomAdmdvsBigDecimalResult(ad),
                    randomAdmdvsBigDecimalResult(ad), randomAdmdvsBigDecimalResult(ad),DateUtil.formatDateTime(new Date()));
            System.out.println(sql);
            result.add(sql);
        }
        return result;
    }

    private static String genSql(String tableName, List<Map<String,String>> columns) {
        StringBuffer buffer = new StringBuffer("insert into "+tableName+"(");
        StringBuffer buffer1 = new StringBuffer("values(");
        for (Map<String,String> col:columns) {
            buffer.append(col.get("column_name")).append(",");
            if(col.get("column_type").equals("String")){
                buffer1.append("'%s',");
            }else{
                buffer1.append("%s,");
            }
        }
        return buffer.substring(0,buffer.length()-1)+") "+ buffer1.substring(0,buffer1.length()-1)+");";
    }

    public static List<Map<String,String>> getColumnByTableName(String tableName){
        Connection conn = null;
        String sql = "select * from "+ tableName + " limit 1";
        List<Map<String,String>> list = Lists.newArrayList();
        try {
            Class.forName(DataSourceTypeEnums.CLICKHOUSE.getDriver());
            conn = DriverManager.getConnection(DataSourceTypeEnums.CLICKHOUSE.getPrefix()+"://"+"121.196.219.211"+":"+8123,
                    "default", "zmjk2018");
            Statement st = conn.createStatement();
            ResultSet rs = st.executeQuery(sql);
            ResultSetMetaData rsmd = rs.getMetaData();
            for (int i = 1; i <= rsmd.getColumnCount(); i++) {
                Map<String, String> mmp = new HashMap<>();
                mmp.put("column_name", rsmd.getColumnName(i));
                mmp.put("column_type", rsmd.getColumnTypeName(i));
                list.add(mmp);
            }
        }catch(Exception e){
            e.printStackTrace();
        }
        return list;
    }
}
